# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default New Super Mario Bros. DS Template

game: New Super Mario Bros. DS
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    New Super Mario Bros. DS: 0.4.5 # Version of the world required for this yaml to work as expected.

New Super Mario Bros. DS:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  goal:
    # Choose the victory condition.
    # 
    # defeat_bowser:   Reach World 8 and defeat Bowser in World 8-Bowser's Castle. (Default)
    # star_coin_hunt:  Collect the required number of Star Coins across the multiworld.
    # world_tour:      Defeat all 9 Castle bosses.
    # completionist:   Defeat all 9 Castle bosses AND collect all required Star Coins.
    defeat_bowser: 50
    star_coin_hunt: 0
    world_tour: 0
    completionist: 0

  required_star_coins:
    # Relevant for 'Star Coin Hunt' and 'Completionist' goals.
    # The number of Star Coins required for victory goal.
    # You can set this to any target (e.g. 40, 80, 120) while keeping all 240 Star Coin check locations active!
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 30
    # Maximum value is 240
    80: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-30-240: 0 # random value between 30 and 240

  red_coin_checks:
    # Include all 29 Red Coin Ring challenges across the world map as check locations.
    'false': 0
    'true': 50

  one_up_block_checks:
    # Include 1-Up Blocks across all levels as check locations.
    'false': 0
    'true': 50

  one_up_block_item_placement:
    # Controls which items may be placed at enabled 1-Up Block checks.
    # 
    # excluded:        Only filler or enabled traps; useful and progression items are forbidden.
    # non_progression: Allow filler, useful items, and enabled traps, but no progression. (Default)
    # progression:     Treat these checks as normal locations that may contain progression.
    excluded: 0
    progression: 0
    non_progression: 50

  blocksanity:
    # Include static and flying Coin/Power-up Blocks as Archipelago checks.
    'false': 50
    'true': 0

  blocksanity_item_placement:
    # Controls which items may be placed at enabled Blocksanity checks.
    # 
    # excluded:        Only filler or enabled traps; useful and progression items are forbidden.
    # non_progression: Allow filler, useful items, and enabled traps, but no progression. (Default)
    # progression:     Treat these checks as normal locations that may contain progression.
    excluded: 0
    progression: 0
    non_progression: 50

  blocksanity_global_check_percentage:
    # Percentage of active Blocksanity and World 6-2 Bonus Area block checks that
    # serve as global multiworld locations (containing items for other players).
    # 
    # The remaining percentage is restricted to local filler items and traps for the NSMBDS player.
    # 0% = All block checks are local filler and traps.
    # 30% = Standard host safety maximum (values above 30% require host setting 'allow_unsafe_nsmbds_options: true').
    # 100% = All block checks are global multiworld locations.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    30: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  world_6_2_bonus_area:
    # Controls the 128 flying blocks in the World 6-2 bonus room.
    # When enabled, these checks are included in the block check pool.
    # 
    # Safety & Balance:
    # - Never contains progression items.
    # - Capped at a strict maximum of 16 global multiworld checks for other players;
    #   all remaining 112+ blocks in the room are reserved for local filler and traps.
    'false': 0
    'true': 50

  secret_exit_checks:
    # Include the 18 Secret Exit locations across the world map in the check pool.
    'false': 0
    'true': 50

  toad_house_checks:
    # Include Toad House locations on the world map as check locations.
    'false': 0
    'true': 50

  secret_exit_shortcut_logic:
    # Allow secret-exit paths as shortcuts in world logic.
    'false': 0
    'true': 50

  secret_exit_world_unlock_logic:
    # Allow the Mini-Mario castle exits to Worlds 4 and 7 in world logic.
    'false': 0
    'true': 50

  cannon_route_logic:
    # Allow Warp Cannon routes to other worlds in world logic.
    'false': 0
    'true': 50

  advanced_location_item_placement:
    # Controls whether hard-to-reach or well-hidden locations (such as hidden blocks) can contain required progression items.
    # 
    # allow_progression: Hard and hidden locations are treated normally and can hold required items. (Default)
    # non_progression: Prevents progression items from spawning in hard or hidden locations. Makes the playthrough smoother by keeping required items out of obscure checks.
    allow_progression: 50
    non_progression: 0

  star_coin_gate_mode:
    # Controls Star-Coin signs on the overworld map.
    # 
    # vanilla:     Original Star-Coin purchase behavior.
    # progressive: Each received Progressive Star Coin Gate Pass authorizes the
    #              next gate in the deterministic 32-gate catalog.
    # individual:  Each Star Coin Gate requires its own named Gate Pass.
    vanilla: 50
    progressive: 0
    individual: 0

  tower_castle_keys:
    # Include physical Tower Keys and Castle Keys in the item pool.
    # When enabled, players must find key items to unlock path gates leading to Towers and Castles.
    'false': 0
    'true': 50

  license_mini_mushroom:
    # Include Mini Mushroom Permit in the item pool and logic.
    # Needed for Secret Exits.
    'false': 0
    'true': 50

  license_blue_shell:
    # Include Blue Shell Permit in the item pool and logic.
    # Needed for Secret Exits.
    'false': 0
    'true': 50

  license_mega_mushroom:
    # Include Mega Mushroom Permit in the item pool and logic.
    'false': 0
    'true': 50

  license_mushroom:
    # Include Super Mushroom Permit in the item pool and logic.
    'false': 0
    'true': 50

  license_fire_flower:
    # Include Fire Flower Permit in the item pool and logic.
    'false': 0
    'true': 50

  license_touchscreen_pocket:
    # Include Touchscreen Pocket Permit (reserve item storage) in the item pool and logic.
    # If enabled, players cannot use the Touchscreen Pocket until they find the Permit item in the multiworld.
    'false': 0
    'true': 50

  filler_powerups:
    # Include standard power-ups (Super Mushroom, Fire Flower, Blue Shell, Mini Mushroom, Mega Mushroom) in filler item pool.
    'false': 0
    'true': 50

  filler_starman:
    # Include full Starman invincibility bonuses in the filler item pool.
    'false': 0
    'true': 50

  filler_extra_lives:
    # Include 1-Up Mushrooms and 3-Up Moons in the filler item pool.
    'false': 0
    'true': 50

  filler_coins:
    # Include 50-Coin Bundles in the filler item pool.
    'false': 0
    'true': 50

  filler_time_capsule:
    # Include Time Capsules (+30 level seconds) in the filler pool.
    'false': 0
    'true': 50

  filler_starman_lite:
    # Include five-second Starman Lite bonuses in the filler pool.
    'false': 0
    'true': 50

  filler_trap_shield:
    # Include shields that cancel the next received AP trap.
    'false': 0
    'true': 50

  filler_care_package:
    # Include small packages that grant time, coins, and one life together.
    'false': 0
    'true': 50

  filler_life_insurance:
    # Include charges that prevent the next death from consuming a life.
    'false': 0
    'true': 50

  trap_percentage:
    # Percentage of filler item slots that will be replaced with traps.
    # Set to 0 to disable all traps.
    # 
    # Values above 50% require host setting 'allow_unsafe_nsmbds_options: true'.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  bonk_trap_can_kill:
    # If enabled, receiving a Bonk / Damage Trap while already Small Mario (no power-up)
    # will killing Mario and triggering Death Link if enabled.
    # If disabled (default), receiving a Bonk / Damage Trap as Small Mario will be non-lethal.
    'false': 50
    'true': 0

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  death_link_triggers_on_insured_death:
    # Whether dying locally while holding a Life Insurance charge should trigger a Death Link to other players.
    # If true, insured local deaths send a Death Link.
    # If false (default), insured local deaths do not send a Death Link to other players.
    'false': 50
    'true': 0

  trap_hyper_speed:
    # Enable Super Speed traps (speeds up Mario's movement by +60% for 15s).
    'false': 0
    'true': 50

  trap_slow_speed:
    # Enable Slowness traps (reduces Mario's movement by -50% for 15s).
    'false': 0
    'true': 50

  trap_walljump_lock:
    # Enable Slippery Gloves traps (disables wall-jumping mechanics for 15s).
    'false': 0
    'true': 50

  trap_no_jump:
    # Enable Ground Bound traps (disables jumping input for 15s).
    'false': 0
    'true': 50

  trap_reverse_controls:
    # Enable Hyper Confusion traps (inverts left and right movement for 15s).
    'false': 0
    'true': 50

  trap_no_sprint:
    # Enable No Sprint traps (disables both configured dash buttons for 15s).
    'false': 0
    'true': 50

  trap_button_roulette:
    # Enable Button Swap traps (swaps configured jump and dash buttons for 15s).
    'false': 0
    'true': 50

  trap_ice_shoes:
    # Enable Ice Shoes traps (reduces horizontal braking and turning grip for 15s).
    'false': 0
    'true': 50

  trap_heavy_mario:
    # Enable Heavy Mario traps (lowers jumps and accelerates falling for 15s).
    'false': 0
    'true': 50

  trap_auto_run:
    # Enable Can't Stop traps (forces running while direction and jump remain controllable for 15s).
    'false': 0
    'true': 50

  trap_sticky_buttons:
    # Enable Sticky Buttons traps (briefly latches released directions for 15s).
    'false': 0
    'true': 50

  trap_coin_tax:
    # Enable Coin Tax traps (removes up to 10 coins immediately).
    'false': 0
    'true': 50

  trap_camera_drift:
    # Enable native camera drift to one side for 15 seconds.
    'false': 0
    'true': 50

  trap_screen_flip:
    # Enable a reversible 180-degree DS screen rotation for 15 seconds.
    'false': 0
    'true': 50

  trap_camera_sway:
    # Enable Drunk Camera traps (slow native camera swaying for 15 seconds).
    'false': 0
    'true': 50

  trap_boo_curse:
    # Enable periodic horizontal control reversal for 15 seconds.
    'false': 0
    'true': 50

  trap_im_stuck:
    # Enable three-second I'm Stuck traps that immobilize Mario.
    'false': 0
    'true': 50

  trap_screen_tint:
    # Enable translucent color overlays for 15 seconds.
    'false': 0
    'true': 50

  trap_retro_filter:
    # Enable a lightweight tint and scanline filter for 15 seconds.
    'false': 0
    'true': 50

  trap_spotlight:
    # Enable a darkened gameplay view with a central spotlight for 10 seconds.
    'false': 0
    'true': 50

  trap_ground_clap:
    # Enable damage when Mario performs a ground-pound impact for 15 seconds.
    'false': 0
    'true': 50

  trap_head_bonk:
    # Enable damage when Mario hits a block from below for 15 seconds.
    'false': 0
    'true': 50

  trap_crazy_pixels:
    # Enable Pixelation traps (native DS hardware Mosaic effect for 15 seconds).
    'false': 0
    'true': 50

  trap_bonk:
    # Enable Bonk Trap traps (inflicts a damage hit on Mario).
    'false': 0
    'true': 50

  trap_timer_drain:
    # Enable Time Drain traps (subtracts 50s from level timer).
    'false': 0
    'true': 50

  trap_coin_thief:
    # Enable Coin Thief traps (empties Mario's coins to 0).
    'false': 0
    'true': 50

  trap_no_turnaround:
    # Enable No Turnaround traps (locks horizontal movement to one direction for 15s).
    'false': 0
    'true': 50

  trap_powerup_pickpocket:
    # Enable traps that immediately empty the touchscreen reserve Power-Up slot.
    'false': 0
    'true': 50

  mario_palette:
    # Color palette used by Mario's in-level body and head models.
    vanilla: 50
    crimson: 0
    emerald: 0
    sapphire: 0
    purple: 0
    monochrome: 0
    random_preset: 0
    crazy_random: 0
    pastel_rosa: 0
    gold: 0
    silver: 0
    peach: 0

  luigi_palette:
    # Color palette used by Luigi's in-level body and head models.
    vanilla: 50
    crimson: 0
    emerald: 0
    sapphire: 0
    purple: 0
    monochrome: 0
    random_preset: 0
    crazy_random: 0
    pastel_rosa: 0
    gold: 0
    silver: 0
    peach: 0

  secondary_screen_background:
    # Choose whether the in-level lower-screen backgrounds retain their normal
    # assignments, are shuffled, or use one specific background in every level.
    # 
    # vanilla:           Keep the original secondary-screen backgrounds. (Default)
    # randomized:        Shuffle all five backgrounds so every assignment changes.
    # white_bricks:      Use the white brick background everywhere.
    # star_pattern:      Use the yellow star pattern everywhere.
    # blue_bricks:       Use the dark blue brick background everywhere.
    # mario_silhouette:  Use the red Mario silhouette everywhere.
    # classic_overworld: Use the classic overworld scene everywhere.
    vanilla: 50
    randomized: 0
    white_bricks: 0
    star_pattern: 0
    blue_bricks: 0
    mario_silhouette: 0
    classic_overworld: 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
